package com.swp.oa.sys.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UserExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andUseridIsNull() {
            addCriterion("UserId is null");
            return (Criteria) this;
        }

        public Criteria andUseridIsNotNull() {
            addCriterion("UserId is not null");
            return (Criteria) this;
        }

        public Criteria andUseridEqualTo(String value) {
            addCriterion("UserId =", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotEqualTo(String value) {
            addCriterion("UserId <>", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThan(String value) {
            addCriterion("UserId >", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThanOrEqualTo(String value) {
            addCriterion("UserId >=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThan(String value) {
            addCriterion("UserId <", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThanOrEqualTo(String value) {
            addCriterion("UserId <=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLike(String value) {
            addCriterion("UserId like", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotLike(String value) {
            addCriterion("UserId not like", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridIn(List<String> values) {
            addCriterion("UserId in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotIn(List<String> values) {
            addCriterion("UserId not in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridBetween(String value1, String value2) {
            addCriterion("UserId between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotBetween(String value1, String value2) {
            addCriterion("UserId not between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNull() {
            addCriterion("UserName is null");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNotNull() {
            addCriterion("UserName is not null");
            return (Criteria) this;
        }

        public Criteria andUsernameEqualTo(String value) {
            addCriterion("UserName =", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotEqualTo(String value) {
            addCriterion("UserName <>", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThan(String value) {
            addCriterion("UserName >", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThanOrEqualTo(String value) {
            addCriterion("UserName >=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThan(String value) {
            addCriterion("UserName <", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThanOrEqualTo(String value) {
            addCriterion("UserName <=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLike(String value) {
            addCriterion("UserName like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotLike(String value) {
            addCriterion("UserName not like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameIn(List<String> values) {
            addCriterion("UserName in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotIn(List<String> values) {
            addCriterion("UserName not in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameBetween(String value1, String value2) {
            addCriterion("UserName between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotBetween(String value1, String value2) {
            addCriterion("UserName not between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andUpasswordIsNull() {
            addCriterion("UPassword is null");
            return (Criteria) this;
        }

        public Criteria andUpasswordIsNotNull() {
            addCriterion("UPassword is not null");
            return (Criteria) this;
        }

        public Criteria andUpasswordEqualTo(String value) {
            addCriterion("UPassword =", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordNotEqualTo(String value) {
            addCriterion("UPassword <>", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordGreaterThan(String value) {
            addCriterion("UPassword >", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordGreaterThanOrEqualTo(String value) {
            addCriterion("UPassword >=", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordLessThan(String value) {
            addCriterion("UPassword <", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordLessThanOrEqualTo(String value) {
            addCriterion("UPassword <=", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordLike(String value) {
            addCriterion("UPassword like", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordNotLike(String value) {
            addCriterion("UPassword not like", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordIn(List<String> values) {
            addCriterion("UPassword in", values, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordNotIn(List<String> values) {
            addCriterion("UPassword not in", values, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordBetween(String value1, String value2) {
            addCriterion("UPassword between", value1, value2, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordNotBetween(String value1, String value2) {
            addCriterion("UPassword not between", value1, value2, "upassword");
            return (Criteria) this;
        }

        public Criteria andPwdsaltIsNull() {
            addCriterion("PwdSalt is null");
            return (Criteria) this;
        }

        public Criteria andPwdsaltIsNotNull() {
            addCriterion("PwdSalt is not null");
            return (Criteria) this;
        }

        public Criteria andPwdsaltEqualTo(String value) {
            addCriterion("PwdSalt =", value, "pwdsalt");
            return (Criteria) this;
        }

        public Criteria andPwdsaltNotEqualTo(String value) {
            addCriterion("PwdSalt <>", value, "pwdsalt");
            return (Criteria) this;
        }

        public Criteria andPwdsaltGreaterThan(String value) {
            addCriterion("PwdSalt >", value, "pwdsalt");
            return (Criteria) this;
        }

        public Criteria andPwdsaltGreaterThanOrEqualTo(String value) {
            addCriterion("PwdSalt >=", value, "pwdsalt");
            return (Criteria) this;
        }

        public Criteria andPwdsaltLessThan(String value) {
            addCriterion("PwdSalt <", value, "pwdsalt");
            return (Criteria) this;
        }

        public Criteria andPwdsaltLessThanOrEqualTo(String value) {
            addCriterion("PwdSalt <=", value, "pwdsalt");
            return (Criteria) this;
        }

        public Criteria andPwdsaltLike(String value) {
            addCriterion("PwdSalt like", value, "pwdsalt");
            return (Criteria) this;
        }

        public Criteria andPwdsaltNotLike(String value) {
            addCriterion("PwdSalt not like", value, "pwdsalt");
            return (Criteria) this;
        }

        public Criteria andPwdsaltIn(List<String> values) {
            addCriterion("PwdSalt in", values, "pwdsalt");
            return (Criteria) this;
        }

        public Criteria andPwdsaltNotIn(List<String> values) {
            addCriterion("PwdSalt not in", values, "pwdsalt");
            return (Criteria) this;
        }

        public Criteria andPwdsaltBetween(String value1, String value2) {
            addCriterion("PwdSalt between", value1, value2, "pwdsalt");
            return (Criteria) this;
        }

        public Criteria andPwdsaltNotBetween(String value1, String value2) {
            addCriterion("PwdSalt not between", value1, value2, "pwdsalt");
            return (Criteria) this;
        }

        public Criteria andPwshashIsNull() {
            addCriterion("PwsHash is null");
            return (Criteria) this;
        }

        public Criteria andPwshashIsNotNull() {
            addCriterion("PwsHash is not null");
            return (Criteria) this;
        }

        public Criteria andPwshashEqualTo(String value) {
            addCriterion("PwsHash =", value, "pwshash");
            return (Criteria) this;
        }

        public Criteria andPwshashNotEqualTo(String value) {
            addCriterion("PwsHash <>", value, "pwshash");
            return (Criteria) this;
        }

        public Criteria andPwshashGreaterThan(String value) {
            addCriterion("PwsHash >", value, "pwshash");
            return (Criteria) this;
        }

        public Criteria andPwshashGreaterThanOrEqualTo(String value) {
            addCriterion("PwsHash >=", value, "pwshash");
            return (Criteria) this;
        }

        public Criteria andPwshashLessThan(String value) {
            addCriterion("PwsHash <", value, "pwshash");
            return (Criteria) this;
        }

        public Criteria andPwshashLessThanOrEqualTo(String value) {
            addCriterion("PwsHash <=", value, "pwshash");
            return (Criteria) this;
        }

        public Criteria andPwshashLike(String value) {
            addCriterion("PwsHash like", value, "pwshash");
            return (Criteria) this;
        }

        public Criteria andPwshashNotLike(String value) {
            addCriterion("PwsHash not like", value, "pwshash");
            return (Criteria) this;
        }

        public Criteria andPwshashIn(List<String> values) {
            addCriterion("PwsHash in", values, "pwshash");
            return (Criteria) this;
        }

        public Criteria andPwshashNotIn(List<String> values) {
            addCriterion("PwsHash not in", values, "pwshash");
            return (Criteria) this;
        }

        public Criteria andPwshashBetween(String value1, String value2) {
            addCriterion("PwsHash between", value1, value2, "pwshash");
            return (Criteria) this;
        }

        public Criteria andPwshashNotBetween(String value1, String value2) {
            addCriterion("PwsHash not between", value1, value2, "pwshash");
            return (Criteria) this;
        }

        public Criteria andGenderIsNull() {
            addCriterion("Gender is null");
            return (Criteria) this;
        }

        public Criteria andGenderIsNotNull() {
            addCriterion("Gender is not null");
            return (Criteria) this;
        }

        public Criteria andGenderEqualTo(String value) {
            addCriterion("Gender =", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotEqualTo(String value) {
            addCriterion("Gender <>", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderGreaterThan(String value) {
            addCriterion("Gender >", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderGreaterThanOrEqualTo(String value) {
            addCriterion("Gender >=", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderLessThan(String value) {
            addCriterion("Gender <", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderLessThanOrEqualTo(String value) {
            addCriterion("Gender <=", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderLike(String value) {
            addCriterion("Gender like", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotLike(String value) {
            addCriterion("Gender not like", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderIn(List<String> values) {
            addCriterion("Gender in", values, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotIn(List<String> values) {
            addCriterion("Gender not in", values, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderBetween(String value1, String value2) {
            addCriterion("Gender between", value1, value2, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotBetween(String value1, String value2) {
            addCriterion("Gender not between", value1, value2, "gender");
            return (Criteria) this;
        }

        public Criteria andRealnameIsNull() {
            addCriterion("RealName is null");
            return (Criteria) this;
        }

        public Criteria andRealnameIsNotNull() {
            addCriterion("RealName is not null");
            return (Criteria) this;
        }

        public Criteria andRealnameEqualTo(String value) {
            addCriterion("RealName =", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameNotEqualTo(String value) {
            addCriterion("RealName <>", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameGreaterThan(String value) {
            addCriterion("RealName >", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameGreaterThanOrEqualTo(String value) {
            addCriterion("RealName >=", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameLessThan(String value) {
            addCriterion("RealName <", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameLessThanOrEqualTo(String value) {
            addCriterion("RealName <=", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameLike(String value) {
            addCriterion("RealName like", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameNotLike(String value) {
            addCriterion("RealName not like", value, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameIn(List<String> values) {
            addCriterion("RealName in", values, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameNotIn(List<String> values) {
            addCriterion("RealName not in", values, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameBetween(String value1, String value2) {
            addCriterion("RealName between", value1, value2, "realname");
            return (Criteria) this;
        }

        public Criteria andRealnameNotBetween(String value1, String value2) {
            addCriterion("RealName not between", value1, value2, "realname");
            return (Criteria) this;
        }

        public Criteria andEmailIsNull() {
            addCriterion("Email is null");
            return (Criteria) this;
        }

        public Criteria andEmailIsNotNull() {
            addCriterion("Email is not null");
            return (Criteria) this;
        }

        public Criteria andEmailEqualTo(String value) {
            addCriterion("Email =", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotEqualTo(String value) {
            addCriterion("Email <>", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThan(String value) {
            addCriterion("Email >", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThanOrEqualTo(String value) {
            addCriterion("Email >=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThan(String value) {
            addCriterion("Email <", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThanOrEqualTo(String value) {
            addCriterion("Email <=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLike(String value) {
            addCriterion("Email like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotLike(String value) {
            addCriterion("Email not like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailIn(List<String> values) {
            addCriterion("Email in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotIn(List<String> values) {
            addCriterion("Email not in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailBetween(String value1, String value2) {
            addCriterion("Email between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotBetween(String value1, String value2) {
            addCriterion("Email not between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andMobileIsNull() {
            addCriterion("Mobile is null");
            return (Criteria) this;
        }

        public Criteria andMobileIsNotNull() {
            addCriterion("Mobile is not null");
            return (Criteria) this;
        }

        public Criteria andMobileEqualTo(String value) {
            addCriterion("Mobile =", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotEqualTo(String value) {
            addCriterion("Mobile <>", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileGreaterThan(String value) {
            addCriterion("Mobile >", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileGreaterThanOrEqualTo(String value) {
            addCriterion("Mobile >=", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLessThan(String value) {
            addCriterion("Mobile <", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLessThanOrEqualTo(String value) {
            addCriterion("Mobile <=", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLike(String value) {
            addCriterion("Mobile like", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotLike(String value) {
            addCriterion("Mobile not like", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileIn(List<String> values) {
            addCriterion("Mobile in", values, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotIn(List<String> values) {
            addCriterion("Mobile not in", values, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileBetween(String value1, String value2) {
            addCriterion("Mobile between", value1, value2, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotBetween(String value1, String value2) {
            addCriterion("Mobile not between", value1, value2, "mobile");
            return (Criteria) this;
        }

        public Criteria andUserstatusIsNull() {
            addCriterion("UserStatus is null");
            return (Criteria) this;
        }

        public Criteria andUserstatusIsNotNull() {
            addCriterion("UserStatus is not null");
            return (Criteria) this;
        }

        public Criteria andUserstatusEqualTo(String value) {
            addCriterion("UserStatus =", value, "userstatus");
            return (Criteria) this;
        }

        public Criteria andUserstatusNotEqualTo(String value) {
            addCriterion("UserStatus <>", value, "userstatus");
            return (Criteria) this;
        }

        public Criteria andUserstatusGreaterThan(String value) {
            addCriterion("UserStatus >", value, "userstatus");
            return (Criteria) this;
        }

        public Criteria andUserstatusGreaterThanOrEqualTo(String value) {
            addCriterion("UserStatus >=", value, "userstatus");
            return (Criteria) this;
        }

        public Criteria andUserstatusLessThan(String value) {
            addCriterion("UserStatus <", value, "userstatus");
            return (Criteria) this;
        }

        public Criteria andUserstatusLessThanOrEqualTo(String value) {
            addCriterion("UserStatus <=", value, "userstatus");
            return (Criteria) this;
        }

        public Criteria andUserstatusLike(String value) {
            addCriterion("UserStatus like", value, "userstatus");
            return (Criteria) this;
        }

        public Criteria andUserstatusNotLike(String value) {
            addCriterion("UserStatus not like", value, "userstatus");
            return (Criteria) this;
        }

        public Criteria andUserstatusIn(List<String> values) {
            addCriterion("UserStatus in", values, "userstatus");
            return (Criteria) this;
        }

        public Criteria andUserstatusNotIn(List<String> values) {
            addCriterion("UserStatus not in", values, "userstatus");
            return (Criteria) this;
        }

        public Criteria andUserstatusBetween(String value1, String value2) {
            addCriterion("UserStatus between", value1, value2, "userstatus");
            return (Criteria) this;
        }

        public Criteria andUserstatusNotBetween(String value1, String value2) {
            addCriterion("UserStatus not between", value1, value2, "userstatus");
            return (Criteria) this;
        }

        public Criteria andCreatedateIsNull() {
            addCriterion("CreateDate is null");
            return (Criteria) this;
        }

        public Criteria andCreatedateIsNotNull() {
            addCriterion("CreateDate is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedateEqualTo(Date value) {
            addCriterion("CreateDate =", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateNotEqualTo(Date value) {
            addCriterion("CreateDate <>", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateGreaterThan(Date value) {
            addCriterion("CreateDate >", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateGreaterThanOrEqualTo(String value) {
            addCriterion("CreateDate >=", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateLessThan(Date value) {
            addCriterion("CreateDate <", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateLessThanOrEqualTo(String value) {
            addCriterion("CreateDate <=", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateIn(List<Date> values) {
            addCriterion("CreateDate in", values, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateNotIn(List<Date> values) {
            addCriterion("CreateDate not in", values, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateBetween(Date value1, Date value2) {
            addCriterion("CreateDate between", value1, value2, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateNotBetween(Date value1, Date value2) {
            addCriterion("CreateDate not between", value1, value2, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreateuserIsNull() {
            addCriterion("CreateUser is null");
            return (Criteria) this;
        }

        public Criteria andCreateuserIsNotNull() {
            addCriterion("CreateUser is not null");
            return (Criteria) this;
        }

        public Criteria andCreateuserEqualTo(String value) {
            addCriterion("CreateUser =", value, "createuser");
            return (Criteria) this;
        }

        public Criteria andCreateuserNotEqualTo(String value) {
            addCriterion("CreateUser <>", value, "createuser");
            return (Criteria) this;
        }

        public Criteria andCreateuserGreaterThan(String value) {
            addCriterion("CreateUser >", value, "createuser");
            return (Criteria) this;
        }

        public Criteria andCreateuserGreaterThanOrEqualTo(String value) {
            addCriterion("CreateUser >=", value, "createuser");
            return (Criteria) this;
        }

        public Criteria andCreateuserLessThan(String value) {
            addCriterion("CreateUser <", value, "createuser");
            return (Criteria) this;
        }

        public Criteria andCreateuserLessThanOrEqualTo(String value) {
            addCriterion("CreateUser <=", value, "createuser");
            return (Criteria) this;
        }

        public Criteria andCreateuserLike(String value) {
            addCriterion("CreateUser like", value, "createuser");
            return (Criteria) this;
        }

        public Criteria andCreateuserNotLike(String value) {
            addCriterion("CreateUser not like", value, "createuser");
            return (Criteria) this;
        }

        public Criteria andCreateuserIn(List<String> values) {
            addCriterion("CreateUser in", values, "createuser");
            return (Criteria) this;
        }

        public Criteria andCreateuserNotIn(List<String> values) {
            addCriterion("CreateUser not in", values, "createuser");
            return (Criteria) this;
        }

        public Criteria andCreateuserBetween(String value1, String value2) {
            addCriterion("CreateUser between", value1, value2, "createuser");
            return (Criteria) this;
        }

        public Criteria andCreateuserNotBetween(String value1, String value2) {
            addCriterion("CreateUser not between", value1, value2, "createuser");
            return (Criteria) this;
        }

        public Criteria andUpdateuserIsNull() {
            addCriterion("UpdateUser is null");
            return (Criteria) this;
        }

        public Criteria andUpdateuserIsNotNull() {
            addCriterion("UpdateUser is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateuserEqualTo(String value) {
            addCriterion("UpdateUser =", value, "updateuser");
            return (Criteria) this;
        }

        public Criteria andUpdateuserNotEqualTo(String value) {
            addCriterion("UpdateUser <>", value, "updateuser");
            return (Criteria) this;
        }

        public Criteria andUpdateuserGreaterThan(String value) {
            addCriterion("UpdateUser >", value, "updateuser");
            return (Criteria) this;
        }

        public Criteria andUpdateuserGreaterThanOrEqualTo(String value) {
            addCriterion("UpdateUser >=", value, "updateuser");
            return (Criteria) this;
        }

        public Criteria andUpdateuserLessThan(String value) {
            addCriterion("UpdateUser <", value, "updateuser");
            return (Criteria) this;
        }

        public Criteria andUpdateuserLessThanOrEqualTo(String value) {
            addCriterion("UpdateUser <=", value, "updateuser");
            return (Criteria) this;
        }

        public Criteria andUpdateuserLike(String value) {
            addCriterion("UpdateUser like", value, "updateuser");
            return (Criteria) this;
        }

        public Criteria andUpdateuserNotLike(String value) {
            addCriterion("UpdateUser not like", value, "updateuser");
            return (Criteria) this;
        }

        public Criteria andUpdateuserIn(List<String> values) {
            addCriterion("UpdateUser in", values, "updateuser");
            return (Criteria) this;
        }

        public Criteria andUpdateuserNotIn(List<String> values) {
            addCriterion("UpdateUser not in", values, "updateuser");
            return (Criteria) this;
        }

        public Criteria andUpdateuserBetween(String value1, String value2) {
            addCriterion("UpdateUser between", value1, value2, "updateuser");
            return (Criteria) this;
        }

        public Criteria andUpdateuserNotBetween(String value1, String value2) {
            addCriterion("UpdateUser not between", value1, value2, "updateuser");
            return (Criteria) this;
        }

        public Criteria andUpdatedateIsNull() {
            addCriterion("UpdateDate is null");
            return (Criteria) this;
        }

        public Criteria andUpdatedateIsNotNull() {
            addCriterion("UpdateDate is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatedateEqualTo(Date value) {
            addCriterion("UpdateDate =", value, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateNotEqualTo(Date value) {
            addCriterion("UpdateDate <>", value, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateGreaterThan(Date value) {
            addCriterion("UpdateDate >", value, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateGreaterThanOrEqualTo(String value) {
            addCriterion("UpdateDate >=", value, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateLessThan(Date value) {
            addCriterion("UpdateDate <", value, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateLessThanOrEqualTo(String value) {
            addCriterion("UpdateDate <=", value, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateIn(List<Date> values) {
            addCriterion("UpdateDate in", values, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateNotIn(List<Date> values) {
            addCriterion("UpdateDate not in", values, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateBetween(Date value1, Date value2) {
            addCriterion("UpdateDate between", value1, value2, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateNotBetween(Date value1, Date value2) {
            addCriterion("UpdateDate not between", value1, value2, "updatedate");
            return (Criteria) this;
        }

        public Criteria andVersionIsNull() {
            addCriterion("Version is null");
            return (Criteria) this;
        }

        public Criteria andVersionIsNotNull() {
            addCriterion("Version is not null");
            return (Criteria) this;
        }

        public Criteria andVersionEqualTo(Integer value) {
            addCriterion("Version =", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotEqualTo(Integer value) {
            addCriterion("Version <>", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThan(Integer value) {
            addCriterion("Version >", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThanOrEqualTo(Integer value) {
            addCriterion("Version >=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThan(Integer value) {
            addCriterion("Version <", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThanOrEqualTo(Integer value) {
            addCriterion("Version <=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionIn(List<Integer> values) {
            addCriterion("Version in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotIn(List<Integer> values) {
            addCriterion("Version not in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionBetween(Integer value1, Integer value2) {
            addCriterion("Version between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotBetween(Integer value1, Integer value2) {
            addCriterion("Version not between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andWorkpathIsNull() {
            addCriterion("WorkPath is null");
            return (Criteria) this;
        }

        public Criteria andWorkpathIsNotNull() {
            addCriterion("WorkPath is not null");
            return (Criteria) this;
        }

        public Criteria andWorkpathEqualTo(String value) {
            addCriterion("WorkPath =", value, "workpath");
            return (Criteria) this;
        }

        public Criteria andWorkpathNotEqualTo(String value) {
            addCriterion("WorkPath <>", value, "workpath");
            return (Criteria) this;
        }

        public Criteria andWorkpathGreaterThan(String value) {
            addCriterion("WorkPath >", value, "workpath");
            return (Criteria) this;
        }

        public Criteria andWorkpathGreaterThanOrEqualTo(String value) {
            addCriterion("WorkPath >=", value, "workpath");
            return (Criteria) this;
        }

        public Criteria andWorkpathLessThan(String value) {
            addCriterion("WorkPath <", value, "workpath");
            return (Criteria) this;
        }

        public Criteria andWorkpathLessThanOrEqualTo(String value) {
            addCriterion("WorkPath <=", value, "workpath");
            return (Criteria) this;
        }

        public Criteria andWorkpathLike(String value) {
            addCriterion("WorkPath like", value, "workpath");
            return (Criteria) this;
        }

        public Criteria andWorkpathNotLike(String value) {
            addCriterion("WorkPath not like", value, "workpath");
            return (Criteria) this;
        }

        public Criteria andWorkpathIn(List<String> values) {
            addCriterion("WorkPath in", values, "workpath");
            return (Criteria) this;
        }

        public Criteria andWorkpathNotIn(List<String> values) {
            addCriterion("WorkPath not in", values, "workpath");
            return (Criteria) this;
        }

        public Criteria andWorkpathBetween(String value1, String value2) {
            addCriterion("WorkPath between", value1, value2, "workpath");
            return (Criteria) this;
        }

        public Criteria andWorkpathNotBetween(String value1, String value2) {
            addCriterion("WorkPath not between", value1, value2, "workpath");
            return (Criteria) this;
        }

        public Criteria andIssecrecyIsNull() {
            addCriterion("IsSecrecy is null");
            return (Criteria) this;
        }

        public Criteria andIssecrecyIsNotNull() {
            addCriterion("IsSecrecy is not null");
            return (Criteria) this;
        }

        public Criteria andIssecrecyEqualTo(String value) {
            addCriterion("IsSecrecy =", value, "issecrecy");
            return (Criteria) this;
        }

        public Criteria andIssecrecyNotEqualTo(String value) {
            addCriterion("IsSecrecy <>", value, "issecrecy");
            return (Criteria) this;
        }

        public Criteria andIssecrecyGreaterThan(String value) {
            addCriterion("IsSecrecy >", value, "issecrecy");
            return (Criteria) this;
        }

        public Criteria andIssecrecyGreaterThanOrEqualTo(String value) {
            addCriterion("IsSecrecy >=", value, "issecrecy");
            return (Criteria) this;
        }

        public Criteria andIssecrecyLessThan(String value) {
            addCriterion("IsSecrecy <", value, "issecrecy");
            return (Criteria) this;
        }

        public Criteria andIssecrecyLessThanOrEqualTo(String value) {
            addCriterion("IsSecrecy <=", value, "issecrecy");
            return (Criteria) this;
        }

        public Criteria andIssecrecyLike(String value) {
            addCriterion("IsSecrecy like", value, "issecrecy");
            return (Criteria) this;
        }

        public Criteria andIssecrecyNotLike(String value) {
            addCriterion("IsSecrecy not like", value, "issecrecy");
            return (Criteria) this;
        }

        public Criteria andIssecrecyIn(List<String> values) {
            addCriterion("IsSecrecy in", values, "issecrecy");
            return (Criteria) this;
        }

        public Criteria andIssecrecyNotIn(List<String> values) {
            addCriterion("IsSecrecy not in", values, "issecrecy");
            return (Criteria) this;
        }

        public Criteria andIssecrecyBetween(String value1, String value2) {
            addCriterion("IsSecrecy between", value1, value2, "issecrecy");
            return (Criteria) this;
        }

        public Criteria andIssecrecyNotBetween(String value1, String value2) {
            addCriterion("IsSecrecy not between", value1, value2, "issecrecy");
            return (Criteria) this;
        }

        public Criteria andLastupdatepwddateIsNull() {
            addCriterion("LastUpdatePwdDate is null");
            return (Criteria) this;
        }

        public Criteria andLastupdatepwddateIsNotNull() {
            addCriterion("LastUpdatePwdDate is not null");
            return (Criteria) this;
        }

        public Criteria andLastupdatepwddateEqualTo(Date value) {
            addCriterion("LastUpdatePwdDate =", value, "lastupdatepwddate");
            return (Criteria) this;
        }

        public Criteria andLastupdatepwddateNotEqualTo(Date value) {
            addCriterion("LastUpdatePwdDate <>", value, "lastupdatepwddate");
            return (Criteria) this;
        }

        public Criteria andLastupdatepwddateGreaterThan(Date value) {
            addCriterion("LastUpdatePwdDate >", value, "lastupdatepwddate");
            return (Criteria) this;
        }

        public Criteria andLastupdatepwddateGreaterThanOrEqualTo(Date value) {
            addCriterion("LastUpdatePwdDate >=", value, "lastupdatepwddate");
            return (Criteria) this;
        }

        public Criteria andLastupdatepwddateLessThan(Date value) {
            addCriterion("LastUpdatePwdDate <", value, "lastupdatepwddate");
            return (Criteria) this;
        }

        public Criteria andLastupdatepwddateLessThanOrEqualTo(Date value) {
            addCriterion("LastUpdatePwdDate <=", value, "lastupdatepwddate");
            return (Criteria) this;
        }

        public Criteria andLastupdatepwddateIn(List<Date> values) {
            addCriterion("LastUpdatePwdDate in", values, "lastupdatepwddate");
            return (Criteria) this;
        }

        public Criteria andLastupdatepwddateNotIn(List<Date> values) {
            addCriterion("LastUpdatePwdDate not in", values, "lastupdatepwddate");
            return (Criteria) this;
        }

        public Criteria andLastupdatepwddateBetween(Date value1, Date value2) {
            addCriterion("LastUpdatePwdDate between", value1, value2, "lastupdatepwddate");
            return (Criteria) this;
        }

        public Criteria andLastupdatepwddateNotBetween(Date value1, Date value2) {
            addCriterion("LastUpdatePwdDate not between", value1, value2, "lastupdatepwddate");
            return (Criteria) this;
        }

        public Criteria andUpdatepwdcycleIsNull() {
            addCriterion("UpdatePwdCycle is null");
            return (Criteria) this;
        }

        public Criteria andUpdatepwdcycleIsNotNull() {
            addCriterion("UpdatePwdCycle is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatepwdcycleEqualTo(Integer value) {
            addCriterion("UpdatePwdCycle =", value, "updatepwdcycle");
            return (Criteria) this;
        }

        public Criteria andUpdatepwdcycleNotEqualTo(Integer value) {
            addCriterion("UpdatePwdCycle <>", value, "updatepwdcycle");
            return (Criteria) this;
        }

        public Criteria andUpdatepwdcycleGreaterThan(Integer value) {
            addCriterion("UpdatePwdCycle >", value, "updatepwdcycle");
            return (Criteria) this;
        }

        public Criteria andUpdatepwdcycleGreaterThanOrEqualTo(Integer value) {
            addCriterion("UpdatePwdCycle >=", value, "updatepwdcycle");
            return (Criteria) this;
        }

        public Criteria andUpdatepwdcycleLessThan(Integer value) {
            addCriterion("UpdatePwdCycle <", value, "updatepwdcycle");
            return (Criteria) this;
        }

        public Criteria andUpdatepwdcycleLessThanOrEqualTo(Integer value) {
            addCriterion("UpdatePwdCycle <=", value, "updatepwdcycle");
            return (Criteria) this;
        }

        public Criteria andUpdatepwdcycleIn(List<Integer> values) {
            addCriterion("UpdatePwdCycle in", values, "updatepwdcycle");
            return (Criteria) this;
        }

        public Criteria andUpdatepwdcycleNotIn(List<Integer> values) {
            addCriterion("UpdatePwdCycle not in", values, "updatepwdcycle");
            return (Criteria) this;
        }

        public Criteria andUpdatepwdcycleBetween(Integer value1, Integer value2) {
            addCriterion("UpdatePwdCycle between", value1, value2, "updatepwdcycle");
            return (Criteria) this;
        }

        public Criteria andUpdatepwdcycleNotBetween(Integer value1, Integer value2) {
            addCriterion("UpdatePwdCycle not between", value1, value2, "updatepwdcycle");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}